BuffEffect24 = BaseBuffEffect:new();
BuffEffect24.__index = BuffEffect24;

function BuffEffect24:new()
    local object = {};
    setmetatable(object, BuffEffect24);
    return object;
end

function BuffEffect24:action(fight,buff,...)
    local source = buff.source;
    local trigger = select('1',...);
    local skill = select('2',...);
    local result = select('3',...);
    local buffEffectValue = decodeJsonStrToTabel(buff.buffBean.f_BuffEffectValue);

    -- 分摊者已经死亡
    if FighterManager.isDie(source) then
        return EnumConst.IBuffEffect.REMOVE;
    end

    -- 分摊伤害
    local _result = FightResult.New();
    _result.damage = Mathf.Floor(result.damage * buffEffectValue[1] / EnumConst.TEN_THOUSANDTH);
    result.damage = result.damage - _result.damage;
    FightDamageManager.realDamage(fight, trigger, source, _result,skill.skill.skillBean.f_HurtMethod);

    return BaseBuffEffect:action(fight, buff, ...);
end
